In local area networks, when a node joins the network, the first stream of signals which it receives are connection management symbols. The connection management symbols are especially chosen so that they can be decoded by an encoder/decoder (ENDEC) of the node without regard to their alignment within a byte of the signal stream. In a standard 5-bit/4-bit (5B/4B) coding arrangement, the start of the so-called connection management symbols can be at any one of the 10 bits within the "byte." Decoding of these connection management symbols proceeds without regard to this alignment because of their chosen nature. However, once these symbols are processed, decoding of the data packet following these symbols requires that their bytes be aligned.
For token ring Fiber Distributed Data Interface networks, the physical layer has to reliably decode the incoming data stream, without any deletion or modification of frame bits. Also, the receiver is allowed to delete only few bits of an IDLE Symbol for compensation of clock differences, so as to ensure a minimum number of preambles before a packet.
The physical layer of the FDDI is implemented by a combination of Encoder/Decoder (ENDEC) and fiber optic transceiver. The encoder performs repeat filter, 5B/4B encoding, parallel to serial conversion, and Non-Return to Zero (NRZ) to Non-Return to Zero Invert (NRZI) Code conversion. The decoder performs NRZI to NRZ conversion, clock recovery, serial to parallel conversion, byte alignment, 5B/4B code conversion, elasticity buffer function and line state decode.
The ENDEC is implemented in silicon by means of a two chip set called an ENDEC chip and an ENDEC Data Separator. The ENDEC chip performs the encoder, control and status functions, all the decoder functions and line state detect function. The ENDEC Data Separator performs the recovery of the clock signal and retimes the data from the received data.
In a FDDI system, there will be a plurality of ENDECs located as a token ring. In such a system each of the ENDECs have their own clock frequencies. For example the FDDI standard requires that the clock frequency of an ENDEC be in the range of 125 Mhz +/-6.25 KHz. This 12.5 KHz range may significantly affect the information being transmitted or received unless the information received by the receive ENDEC is synchronized with the frequency of the transmitted information. Typically, this synchronization is accomplished by deleting or adding IDLE bits of information by the receive ENDEC.
One of the problems associated with byte synchronization has been addressed in copending U.S. patent application Ser. No. 07/268,396 entitled "Reliable Recovery of Data in an Encoder/Decoder" filed on Nov. 7, 1988 and assigned to the assignee of the present invention. In this disclosure a method and apparatus is provided that allows for the recovery of data in an ENDEC receiver without deleting any of bytes of information. Through the system disclosed in the above-identified patent application no data information is lost during transmissions between nodes in an FDDI network.
However, it is important that the information be aligned within the receiving node to provide for reliable decoding. Typically, the required alignment was provided by the detection of a packet delimiter within the ENDEC called a "JK" symbol-pair. Under this procedure, a preamble "byte" immediately preceding the "JK" symbol-pair could be decoded improperly. Also because of the manner in which an elastic buffer, used in a typical ENDEC receiver, is recentered upon detection of the "JK" delimiter and then initialized, a few bits in the byte-stream are dropped, resulting in a non-integral number of bytes in the preamble. Hence, a new incoming packet of information might have a boundary area that is different from the previous packet. Therefore, to ensure the proper decoding of the new packet of information, the decoder logic requires byte synchronization information to load in the data so that it is aligned to the latest JK byte. As a result of the nonintegral number of preamble or IDLE bytes before the JK byte, the byte before the JK byte will contain a few bits from the IDLE symbols and one or more bits from the JK byte.
This type of byte in the context of this application will be referred to as a fragment byte. This "fragment" byte will be interpreted as a spurious signal by the error monitoring mechanism of the node.
It is important, therefore, to provide a method and apparatus for ensuring that data information is reliably transmitted between nodes in a FDDI network. It is also important that the data is transmitted in accordance with FDDI codes to ensure that communication between each node in the FDDI network is proper. More specifically, it is important that the fragment bytes present in certain FDDI codes be decoded in such a way that data information associated with that byte is not misinterpreted.